import ExpenseStandardComp from 'containers/expense-reimbursement-control/expense-standard/expense-standard';
import ReimbursementStandardRulesGroupComp from 'containers/expense-reimbursement-control/expense-standard/reimbursement-standard/reimbursement-standard-rules-group';
import ExpenseTypeRulesComp from 'containers/expense-reimbursement-control/expense-standard/reimbursement-standard/expense-type-rules';
import ExpenseRulesComp from 'containers/expense-reimbursement-control/expense-standard/reimbursement-standard/expense-rules';
import ListSubsidyRule from 'containers/expense-reimbursement-control/expense-standard/subsidy-rule/list-subsidy-rule';
import RulesListComp from 'containers/expense-reimbursement-control/expense-standard/travel-policy/rules-list';
import DiningListComp from 'containers/expense-reimbursement-control/expense-standard/travel-policy/dining-scene';
import DiningDetailComp from 'containers/expense-reimbursement-control/expense-standard/travel-policy/scene-detail';
import MileageSubsidyComp from 'containers/expense-reimbursement-control/mileage-subsidy/mileage-subsidy';
import StaircaseMileageSettingComp from 'containers/expense-reimbursement-control/mileage-subsidy/staircase-mileage-setting';
import PriceMileageSettingComp from 'containers/expense-reimbursement-control/mileage-subsidy/price-mileage-setting';
import ReimbursementNewRuleComp from 'containers/expense-reimbursement-control/expense-standard/reimbursement/new-rule';
import ReimbursementRuleDetailComp from 'containers/expense-reimbursement-control/expense-standard/reimbursement/rule-detail';
import ReimbursementSubmissionNewComp from 'containers/expense-reimbursement-control/expense-standard/reimbursement-submission/reimbursement-submission-new';
import ReimbursementSubmissionDetailComp from 'containers/expense-reimbursement-control/expense-standard/reimbursement-submission/reimbursement-submission-detail';
import ExpenseAmountList from 'containers/expense-reimbursement-control/expense-amount/ExpenseAmountList';
import ExpenseAmountRuleList from 'containers/expense-reimbursement-control/expense-amount/ExpenseAmountRuleList';

// 费用与报销管控
const basicData = {
  key: 'expense-reimbursement-control',
  icon: 'profile',
  admin: true,
  subMenu: [
    // 费控标准
    {
      key: 'expense-standard',
      url: '/main/expense-reimbursement-control/expense-standard',
      components: ExpenseStandardComp,
      parent: 'expense-reimbursement-control',
      children: {
        // 费用标准规则集
        ReimbursementStandardRulesGroup: {
          key: 'reimbursement-standard-rules-group',
          url: '/main/expense-reimbursement-control/expense-standard/reimbursement-standard-rules-group/:groupId',
          components: ReimbursementStandardRulesGroupComp,
          parent: 'expense-standard'
        },
        // 费用类型规则
        ExpenseTypeRules: {
          key: 'expense-type-rules',
          url: '/main/expense-reimbursement-control/expense-standard/reimbursement-standard-rules-group/:groupId/expense-type-rules/:expenseTypeId',
          components: ExpenseTypeRulesComp,
          parent: 'reimbursement-standard-rules-group'
        },
        // 条件
        ExpenseRules: {
          key: 'expense-rules',
          url: '/main/expense-reimbursement-control/expense-standard/reimbursement-standard-rules-group/:groupId/expense-type-rules/:expenseTypeId/expense-rules/:ruleOID',
          components: ExpenseRulesComp,
          parent: 'expense-type-rules'
        },
        // 差补规则列表
        subsidyList: {
          key: 'list-subsidy-rule',
          url: '/main/expense-reimbursement-control/expense-standard/list-subsidy-rule/:formOID',
          components: ListSubsidyRule,
          parent: 'expense-standard'
        },
        // 差旅标准规则列表
        rulesList: {
          key: 'rules-list',
          url: '/main/expense-reimbursement-control/expense-standard/rules-list/:travelItineraryStandID/:id/:setOfBooksId',
          components: RulesListComp,
          parent: 'expense-standard'
        },
        // 用餐类型列表
        diningList: {
          key: 'dining-list',
          url: '/main/expense-reimbursement-control/expense-standard/dining-list/:travelItineraryStandID/:id/:setOfBooksId',
          components: DiningListComp,
          parent: 'expense-standard'
        },
        diningDetail: {
          key: 'dining-detail',
          url: '/main/expense-reimbursement-control/expense-standard/dining-list/:travelItineraryStandID/:id/:setOfBooksId/:sceneId',
          components: DiningDetailComp,
          parent: 'dining-list'
        },
        // 新建规则
        reimbursementNewRule: {
          key: 'reimbursement-new-rule',
          url: '/main/expense-reimbursement-control/expense-standard/reimbursement-new-rule/:setOfBooksId',
          components: ReimbursementNewRuleComp,
          parent: 'expense-standard'
        },
        // 规则详情
        reimbursementRuleDetail: {
          key: 'reimbursement-rule-detail',
          url: '/main/expense-reimbursement-control/expense-standard/reimbursement-rule-detail/:setOfBooksId/:ruleOID',
          components: ReimbursementRuleDetailComp,
          parent: 'expense-standard'
        },
        // 新建报销单提交规则
        reimbursementSubmissionNew: {
          key: 'reimbursement-submission-new',
          url: '/main/expense-reimbursement-control/expense-standard/reimbursement-submission-new/:setOfBooksId',
          components: ReimbursementSubmissionNewComp,
          parent: 'expense-standard'
        },
        // 新建报销单详情
        reimbursementSubmissionDetail: {
          key: 'reimbursement-submission-detail',
          url: '/main/expense-reimbursement-control/expense-standard/reimbursement-submission-detail/:setOfBooksId/:ruleOID',
          components: ReimbursementSubmissionDetailComp,
          parent: 'expense-standard'
        },
      },
    },
    // 里程补贴
    {
      key: 'mileage-subsidy',
      url: '/main/expense-reimbursement-control/mileage-subsidy',
      components: MileageSubsidyComp,
      parent: 'expense-reimbursement-control',
      company: true,
      tenant: false,
      children: {
        // 设置阶梯计价
        staircaseMileageSetting: {
          key: 'staircase-mileage-setting',
          url: '/main/expense-reimbursement-control/mileage-subsidy/staircase-mileage-setting',
          components: StaircaseMileageSettingComp,
          parent: 'mileage-subsidy'
        },
        priceMileageSetting: {
          key: 'price-mileage-setting',
          url: '/main/expense-reimbursement-control/mileage-subsidy/price-mileage-setting',
          components: PriceMileageSettingComp,
          parent: 'mileage-subsidy'
        }
      }
    },
    // 费用额度设置
    {
      key: 'expense-amount',
      url: '/main/expense-reimbursement-control/expense-amount',
      components: ExpenseAmountList,
      parent: 'expense-reimbursement-control',
      company: true,
      tenant: false,
      children: {
         // 费用额度设置详情
        expenseAmountRuleList: {
          key: 'expense-amount-rule',
          url: '/main/expense-reimbursement-control/expense-amount/expense-amount-rule/:expenseAmountOID',
          components: ExpenseAmountRuleList,
          parent: 'expense-amount'
        },
      }
    }
  ]
};

export default basicData;
